home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mmdf / mmdf-IIb.43 / uip / other / rcvprint.c < prev    next >
Encoding:
C/C++ Source or Header  |  1986-02-01  |  1.1 KB  |  45 lines

  1. /***************************************************************\
  2. *                                     *
  3. *     Rcvprint - a program to take a mail message as input    *
  4. *     and print it on a line printer                    *
  5. *                                     *
  6. *     A really trivial little program.                *
  7. *     Rewritten to clean up                        *
  8. *         Jpo@cs.nott.ac.uk         19/2/84            *
  9. *                                     *
  10. \***************************************************************/
  11.  
  12. #include "util.h"
  13. #include "mmdf.h"
  14.  
  15. int childid;
  16. int retval;
  17. char linebuf[LINESIZE];
  18.  
  19. main ()
  20. {
  21.     int pid;
  22.  
  23.     while( fgets(linebuf, sizeof(linebuf), stdin) != NULL &&
  24.                 linebuf[0] != '\n')
  25.         /* do nothing */;
  26.     if ((childid = fork ()) == 0)
  27.     {
  28.                 /* hunt around for a printer program */
  29.     execlp("lpr", "rcvlpr", (char *)0);
  30.     execlp("opr", "rcvopr", (char *)0);
  31.     perror ("rcvopr exec error");
  32.     exit (-1);
  33.     }
  34.     if( childid == -1)
  35.         exit(RP_MECH);
  36.  
  37.     while ((pid = wait(&retval)) != childid)
  38.     if (pid == -1)
  39.         exit(RP_AGN);
  40.     
  41.     exit ((retval&0377) ? RP_AGN : 0);
  42.                   /* say "delivered" only if opr ends   */
  43.                   /* cleanly                            */
  44. }
  45.